Personal Project Final2
Assignment 5: Personal Project - Phase 3 (Weeks 11+)
Based on your personal project proposal!
Implement your project in aspnet.core in modular monolith architecture (make copy of phase2, new repo). Split out into at least 3 modules (users, 2 of your own). Use mediator for communication between modules. No direct references between modules.
What must be there:
- domain design (everything in your project proposal, min 10 meaningful db entities)
- rest api controllers, versioning, public dtos
- swagger
- auth (jwt)
- client UX (mvc, scaffolded, no need to do anything fancy. just to prove that domain logic works)
- admin UX (mvc, area, functional, protected, designed, nice, good to use. no viewbags/viewdata - use viewmodels)
- translations in UI (i18n, resx files)
- translations in DB (i18n, in db - langstr)
- idor (user can only access their own data - in rest controllers)
- ci/cd deploy (asp app, db)
Repositories, UOW, servives, BLL, mappers - mandatory.
Full Admin UX.
Test coverage - mandatory.
Separate client app
- ci/cd deploy (client hosted from separate web server - if js, hosted from different url, cors handling)
bonus track: full coverage with unit, integration tests and e2e tests (playwright or similar).
Write your own client in any technology you like (react, angular, vue, blazor, android, ios, dotnet etc).
Using your own backend rest api and JWT/refresh_token authentication.
Deploy the client to your VPS (separate docker/domain) - if it is web based.
In final defence, all apis must be implemented, client must demonstrate working solution against your backend.
https://gitlab.proxy.itcollege.ee/2025-2026-spring/akaver-csharp-demo/